/**
 * 
 */
package poo.exo4;

/**
 * @author junandie
 * 
 */

public class Employe
{
	private String nom;
	private double salaireHoraire;
	public int nbHeures;
	final static int LIMITEHEURESUP = 40;
	final static double GAINHEURESUP = 1.5;
	final static int MAXHEURESEMAINE = 60;
	final static int MINSALAIRE = 13;

	public Employe(String nom, double salaireHoraire, int nbHeures) throws MonException
	{
		this.nom = nom;
		if (salaireHoraire < MINSALAIRE) // Erreur règle salaire
		{
			throw new MonException("Erreur sur la règlementation de salaire minimum");
		}
		if (nbHeures > MAXHEURESEMAINE) // Erreur règle horaires
		{
			throw new MonException("Erreur sur la règlementation de temps de travail maximum");
		}
		this.salaireHoraire = salaireHoraire;
		this.nbHeures = nbHeures;

	}

	public double calculSalaire()
	{
		double salaire = 0;

		if (this.nbHeures > LIMITEHEURESUP)
		{
			salaire += ((double) this.nbHeures - LIMITEHEURESUP) * (this.salaireHoraire);
		}

		salaire += (double) this.nbHeures * this.salaireHoraire;
		return salaire;
	}

	@Override
	public String toString()
	{
		StringBuffer sb = new StringBuffer();
		sb.append(this.nom).append("SalaireHoraire : ").append(this.salaireHoraire).append("\nNombre Heures : ").append(this.nbHeures).append("\n Salaire Calculé : ")
				.append(this.calculSalaire());
		return sb.toString();
	}

}
